package br.com.lambdacore.collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.TreeSet;

public class CollectionsUtil {

	private CollectionsUtil() {
		throw new AssertionError();
	}

	public static <E> ArrayList<E> arrayList() {
		return new ArrayList<E>();
	}

	public static <E> ArrayList<E> arrayList(Collection<E> collection) {
		return new ArrayList<E>(collection);
	}

	public static <E> HashSet<E> hashSet() {
		return new HashSet<E>();
	}

	public static <E> HashSet<E> hashSet(Collection<E> collection) {
		return new HashSet<E>(collection);
	}

	public static <E> LinkedHashSet<E> linkedHashSet() {
		return new LinkedHashSet<E>();
	}

	public static <E> LinkedHashSet<E> linkedHashSet(Collection<E> collection) {
		return new LinkedHashSet<E>(collection);
	}

	public static <E> LinkedList<E> linkedList() {
		return new LinkedList<E>();
	}

	public static <E> LinkedList<E> linkedList(Collection<E> collection) {
		return new LinkedList<E>(collection);
	}

	public static <E> TreeSet<E> treeSet() {
		return new TreeSet<E>();
	}

	public static <E> TreeSet<E> treeSet(Collection<E> collection) {
		return new TreeSet<E>(collection);
	}

}
